home *** CD-ROM | disk | FTP | other *** search
/ Dynamic HTML Construction Kit / Dynamic HTML Construction Kit.iso / earthlink / nscomm / java40.jar / java / awt / MenuBar.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-03  |  1.7 KB  |  105 lines

  1. package java.awt;
  2.  
  3. import java.awt.peer.MenuBarPeer;
  4. import java.util.Vector;
  5.  
  6. public class MenuBar extends MenuComponent implements MenuContainer {
  7.    Vector menus = new Vector();
  8.    Menu helpMenu;
  9.  
  10.    public synchronized void addNotify() {
  11.       if (super.peer == null) {
  12.          super.peer = Toolkit.getDefaultToolkit().createMenuBar(this);
  13.       }
  14.  
  15.       int var1 = this.countMenus();
  16.  
  17.       for(int var2 = 0; var2 < var1; ++var2) {
  18.          this.getMenu(var2).addNotify();
  19.       }
  20.  
  21.    }
  22.  
  23.    public void removeNotify() {
  24.       int var1 = this.countMenus();
  25.  
  26.       for(int var2 = 0; var2 < var1; ++var2) {
  27.          this.getMenu(var2).removeNotify();
  28.       }
  29.  
  30.       super.removeNotify();
  31.    }
  32.  
  33.    public Menu getHelpMenu() {
  34.       return this.helpMenu;
  35.    }
  36.  
  37.    public synchronized void setHelpMenu(Menu var1) {
  38.       if (this.helpMenu != null) {
  39.          this.helpMenu.removeNotify();
  40.          this.helpMenu.parent = null;
  41.       }
  42.  
  43.       this.helpMenu = var1;
  44.       if (var1 != null) {
  45.          var1.isHelpMenu = true;
  46.          MenuBarPeer var2 = (MenuBarPeer)super.peer;
  47.          if (var2 != null) {
  48.             if (var1.peer == null) {
  49.                var1.addNotify();
  50.             }
  51.  
  52.             var2.addHelpMenu(var1);
  53.          }
  54.       }
  55.  
  56.    }
  57.  
  58.    public synchronized Menu add(Menu var1) {
  59.       if (var1.parent != null) {
  60.          var1.parent.remove(var1);
  61.       }
  62.  
  63.       this.menus.addElement(var1);
  64.       var1.parent = this;
  65.       MenuBarPeer var2 = (MenuBarPeer)super.peer;
  66.       if (var2 != null) {
  67.          if (var1.peer == null) {
  68.             var1.addNotify();
  69.          }
  70.  
  71.          var2.addMenu(var1);
  72.       }
  73.  
  74.       return var1;
  75.    }
  76.  
  77.    public synchronized void remove(int var1) {
  78.       MenuBarPeer var2 = (MenuBarPeer)super.peer;
  79.       if (var2 != null) {
  80.          Menu var3 = this.getMenu(var1);
  81.          var3.removeNotify();
  82.          var3.parent = null;
  83.          var2.delMenu(var1);
  84.       }
  85.  
  86.       this.menus.removeElementAt(var1);
  87.    }
  88.  
  89.    public synchronized void remove(MenuComponent var1) {
  90.       int var2 = this.menus.indexOf(var1);
  91.       if (var2 >= 0) {
  92.          this.remove(var2);
  93.       }
  94.  
  95.    }
  96.  
  97.    public int countMenus() {
  98.       return this.menus.size();
  99.    }
  100.  
  101.    public Menu getMenu(int var1) {
  102.       return (Menu)this.menus.elementAt(var1);
  103.    }
  104. }
  105.